/**
 * 
 */
package com.gettec.lims.client.services;

import java.util.List;

import com.extjs.gxt.ui.client.data.BeanModel;
import com.extjs.gxt.ui.client.data.PagingLoadConfig;
import com.extjs.gxt.ui.client.data.PagingLoadResult;
import com.extjs.gxt.ui.client.store.ListStore;
import com.gettec.lims.shared.model.RegSheet;
import com.gettec.lims.shared.model.SampleInfo;
import com.gettec.lims.shared.model.SysUser;
import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * @author Administrator
 *
 */
public interface NnimsServiceAsync {

	void createNewFeed(AsyncCallback<Void> callback);

	void showRegSheetFormPage(AsyncCallback<RegSheet> callback);

	void getUserList(AsyncCallback<List<SysUser>> callback);

	//void showSampleInfoView(AsyncCallback<SampleInfo> callback);

	
	void getSampleInfos(PagingLoadConfig config,
			AsyncCallback<PagingLoadResult<SampleInfo>> callback);

	void getRegSheets(PagingLoadConfig config,
			AsyncCallback<PagingLoadResult<RegSheet>> callback);

	void saveRegSheet(RegSheet regSheet, AsyncCallback<Integer> callback);

	void deleteRegSheet(RegSheet regSheet, AsyncCallback<Integer> callback);

	void updateRegSheet(RegSheet regSheet, AsyncCallback<Integer> callback);

	void getClientSerialList(AsyncCallback<List<RegSheet>> callback);

	void saveSampleInfo(SampleInfo sampleInfo, AsyncCallback<Integer> callback);

	void loadSampleInfoList(AsyncCallback<List<SampleInfo>> callback);

}
